#pragma once

#include <pthread.h>

class CMemPool;
class CSvrMgr;
class CBufMgr;

class CMainProc
{
public:
    CMainProc();
    ~CMainProc();

public:
    bool Init();
    bool Start();
    bool Stop();
    void Destroy();

private:
    static void *WorkerThread(void *param);

private:
    CBufMgr *m_pBufMgr;
    CSvrMgr *m_pSvrMgr;
    CMemPool *m_pMemPool;

    unsigned int m_nCore;
    pthread_t *m_pThrdId;
};